17单选以下是关于IA-32架构的栈帧中所存放信息的叙述,其中错误的是()。
A.每个栈帧的底部存放的是EBP寄存器内容
B.因为静态变量是局部的,因此被存放在栈帧中
C.每递归调用一次递归过程就生成一个新的栈帧
D.调用过程对应栈帧中最后存放的总是返回地址
18单选以下是在IA-32系统上运行的一个程序:intx=-200;voidmain(){unsignedx;printf(“x=%d\n”,x);}对于程序运行结果的叙述,其中正确的是()。
A.因为格式符是%d,所以打印出来的结果应是x=-200
B.因为打印结果是局部变量x的值,而局部变量x未赋初值,所以结果为随机值
C.因为-200被转换成了无符号数,所以打印结果不应该是x=-200
D.因为x既是全局变量又是局部变量,被定义了两次,所以链接时会出错
19单选假定“intbuf[4]={100,20,1,8};”所定义的buf被分配在静态数据区,其首地址为0x08048930,“int*bufp1;”为未初始化全局变量。以下关于“bufp1=&buf[1];”的重定位的描述中,错误的是()。
A.bufp1被定义在.bss节中,共占4个字节
B.bufp1和buf对应的重定位信息都在.rel.text节中
C.buf被定义在.data节中,共占16个字节
D.bufp1和buf重定位处的初值都是0且都采用绝对地址方式
20单选以下有关动态链接的叙述中,错误的是()。
A.将共享代码从可执行文件中分离出来形成共享库文件,在加载或执行可执行文件时进行动态链接
B.共享库中模块内或不同模块之间引用数据或调用函数时,都需要生成过程链接表(PLT)代码
C.生成的共享库文件是位置无关代码(PIC),动态链接器可将共享库代码映射到任意地址运行
D.共享库中不同模块之间引用数据或调用函数时,需要使用全局偏移表(GOT)来动态填入地址
21填空计算机系统为层次结构,处在软件层次和硬件层次交界面的是指令集体系结构。指令集体系结构的英文缩写为()。
计算机系统基础(一):程序的表示、转换与链接
南京大学
军职在线答案
大学网课